package HillClimbing;

/*
 * Represent a parameter to be optimized by the HillClimbing class
 */
public class HillClimbingParameter {
	double lowerBound = -1.0;
	double upperBound = 1.0;
	double step = 0.01;
	
	public HillClimbingParameter(double lowerBound, double upperBound, double step)
	{
		this.lowerBound = lowerBound;
		this.upperBound = upperBound;
		this.step = step;
	}
	
	public double getLowerBound()
	{
		return this.lowerBound;
	}
	
	public double getUpperBound()
	{
		return this.upperBound;
	}
	
	public double getRange()
	{
		return this.upperBound - this.lowerBound;
	}
	
	public boolean isInBounds(double value)
	{
		return value >= this.lowerBound && value <= this.upperBound;
	}
	
	public double getStep()
	{
		return this.step;
	}
}
